package logic;
import java.util.Arrays;


public class Tablero {
	private int [][] t;
	
	public Tablero(){
		this.t = new int [3][3];
		for (int i=0;i<3;i++)
			for (int j=0;j<3;j++)
				t[i][j]=0;
	}
	
	public Tablero(int[][] t) {
		this.t = t;
	}

	public int [][] getTablero(){
		return t;
	}
	
	public void setTablero(int [][] t){
		this.t=t;
	}
	
	public void setCasilla(int i, int j, int value){
		if (i<3 && j<3 && i>=0 && j>=0 && value>=-1 && value<=1)
			this.t[i][j] = value;
	}
	
	public int getCasilla(int i, int j){
		int value=-2;
		if (i<3 && j<3 && i>=0 && j>=0)
			value = this.t[i][j];
		return value;
	}
	
	public void cambiarPieza(int ifuente, int jfuente, int idestino, int jdestino, int pieza){
		if (getCasilla(idestino, jdestino)==0 && getCasilla(ifuente, jfuente)==pieza){
			setCasilla(ifuente,jfuente, 0);
			setCasilla(idestino,jdestino, pieza);
		}else
			System.out.println("Pieza " + pieza + " no cambiada desde " +
					"(" + ifuente + ", " + jfuente + ")" + " hasta " +
					"(" + idestino + ", " + jdestino + ")");
	}
	
	public void ponerPieza(int idestino, int jdestino, int pieza){
		if (getCasilla(idestino, jdestino)==0){
			setCasilla(idestino,jdestino, pieza);
		}else
			System.out.println("Pieza " + pieza + " no puesta en " +
					"(" + idestino + ", " + jdestino + ")");
	}
	
	public void quitarPieza(int ifuente, int jfuente){
		if (getCasilla(ifuente, jfuente)!=0){
			setCasilla(ifuente,jfuente, 0);
		}else
			System.out.println("N se quito la pieza de " +
					"(" + ifuente + ", " + jfuente + ")");
	}
	
	public void copiarTablero(Tablero t2){
		for (int n=0;n<3;n++)
			for (int m=0;m<3;m++)
				t2.getTablero()[n][m]=this.getTablero()[n][m];
	}
	
	public int piezasColocadas(){
		int p=0;
		for(int i=0;i<3;i++)
			for(int j=0;j<3;j++)
				if(t[i][j]!=0) p++;
		return p;
	}

	@Override
	public String toString() {
		String s="-------------\n";
		for (int j=0;j<3;j++){
			s+="|";
			for (int i=0;i<3;i++)
				s+=" " + t[i][j] + " |";
			s+="\n-------------\n";
		}
		return s;
	}
	
	
}
